1. Technical Field
Embodiments concern the field of microelectronics—more precisely that of memory circuits and, more specifically, content-addressable memory components, notably ternary content.
More particularly, the embodiments concern architectures for this type of memory allowing one to improve performances in terms of operating speed and/or power consumption.
2. Discussion of the Related Art
Memory components of CAM (“Content-Addressable Memory”) type are memory components that allow a comparison between a set of data to search and a set of pre-recorded data (or key data), so as to detect a correspondence between the data searched and the pre-recorded data.
This kind of memory has an appropriate application in routing systems, in which the address of a data packet recipient needs to be identified in the list of addresses of possible recipients recorded within a system, so that the packet is routed via the port of the device to which the installation of the address is being searched is connected.
To do this, CAM-type memory components have a number of cells arranged in a matrix of lines and columns. Conventionally, each line contains the different bits of a data word for which the comparison with the key data is performed bit by bit, at the level of each cell. Conventionally, therefore, each cell incorporates a memory point within which the corresponding bit of the key data word is recorded, and a comparison circuit allowing the pre-recorded data bit to be recorded with the same-magnitude bit of the data to be searched.
When the comparison is positive, i.e. when the bit of the key data item matches with the same-magnitude bit of the searched data item, then the comparison circuit sets a comparison point to a given state—generally low—of a match line, shared between the different bits of the same word, i.e. of a same line. Because this match line is shared by all the cells of a given line, its potential is at the given level—typically low—when all the cells of a given line return a bit-to-bit match.
Among the various existing CAM memory components, a particular type called TCAM (“Ternary Content-Addressable Memory”) enables one to implement more-sophisticated comparison functions. In particular, with this type of memory, it is possible to conclude on a match without taking account of the value of all or part of the bits of a data word to be searched.
In other words, certain cells of the memory are configured to send a match signal regardless of the level of all or part of the bits of a word.
To implement this function of masking certain bits, it is possible to implement a particular architecture of cells, in which each cell incorporates two memory points or storage circuits, so as to compare the value of the bit to be searched with the value of the pre-recorded bit and its complement, which are each stored in their memory point.
More precisely, the comparison circuit verifies that the key data bit is at a high level at the same time as the bit of the first memory point, or that the complement of the key data word bit is also at a level at the same time as the second memory point, in which the complement of the bit recorded in the first memory point is nominally recorded.
However, when the first and second memory point are not saved with complementary data, the comparison circuit can issue a match signal regardless of the level of the input bit and its complement.
In practice, in CMOS technology, the comparison circuits are implemented using N-MOS-type transistors arranged to implement an “exclusive OR” function between the data from, firstly, the two memory points and, secondly, the input bit and its complement.
Yet, one can conceive that an increase in the capacity of CAM memory components, i.e. the quantity of key data items with which a search data item is to be compared, gives rise to an increase in the power consumed by the memory, because all the comparison circuits are active during the search operations. This tendency towards an increase in power consumption is even more sensitive with the increase in operating frequencies. This is because, to enable the comparison circuit to operate at a higher frequency, it is necessary to use transistors that switch quickly, and that have a considerable output current. Thus, these transistors are relatively large, which augments their interference capability and, therefore, the overall power consumed.